<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<title>Fedora中Iptables防火墙的配置 | Cweili Beta</title>
<meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name=description content="防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合，它能增强机构内部网络的安全性。它通过访问控制机制，确定哪些内部服务允许外部访问，以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定 P 包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包，判断它是否有相匹配的过滤规则，根据规则的先后顺序进行一一比较，直到满足其中的一条规则为止，然后依据控制机制做出相应的动作。如果">
<meta property=og:type content=article>
<meta property=og:title content=Fedora中Iptables防火墙的配置>
<meta property=og:url content="http://cweili.gitcafe.com/fedora-iptables-firewall/">
<meta property=og:site_name content="Cweili Beta">
<meta property=og:description content="防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合，它能增强机构内部网络的安全性。它通过访问控制机制，确定哪些内部服务允许外部访问，以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定 P 包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包，判断它是否有相匹配的过滤规则，根据规则的先后顺序进行一一比较，直到满足其中的一条规则为止，然后依据控制机制做出相应的动作。如果">
<meta name=twitter:card content=summary>
<meta name=twitter:title content=Fedora中Iptables防火墙的配置>
<meta name=twitter:description content="防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合，它能增强机构内部网络的安全性。它通过访问控制机制，确定哪些内部服务允许外部访问，以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定 P 包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包，判断它是否有相匹配的过滤规则，根据规则的先后顺序进行一一比较，直到满足其中的一条规则为止，然后依据控制机制做出相应的动作。如果">
<link rel=alternative href=/atom.xml title="Cweili Beta" type=application/atom+xml>
<link rel=icon href=favicon.png>
<link rel=stylesheet href=//libs.baidu.com/bootstrap/3.2.0/css/bootstrap.min.css type=text/css>
<link rel=stylesheet href=../css/style.css type=text/css>
<!--[if lt IE 9]><script src="//cdn.staticfile.org/html5shiv/3.7/html5shiv.min.js" type="text/javascript"></script><![endif]-->
</head>
<body>
<div id=container>
<nav id=mobile-nav class=visible-xs>
<a href="/" class=mobile-nav-link>首页</a>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
<a href="/tag/%E7%9B%B8%E5%86%8C/" class=mobile-nav-link>相册</a>
<a href="/about/" class=mobile-nav-link>关于</a>
<div class=clearfix></div>
</nav>
<div id=wrap>
<!--[if lt IE 9]><p class="browsehappy alert alert-danger">您正在使用一个<strong>过时</strong>的浏览器。请<a href="http://browsehappy.com/" target="_blank">更新您的浏览器</a>来达到更好的体验。</p><![endif]-->
<header id=header>
<div id=banner></div>
<div id=header-outer class=outer>
<div id=header-inner class=inner>
<nav class=main-nav>
<div id=main-nav-toggle class="nav-icon visible-xs"><i class="fa fa-bars"></i></div>
<a class="main-nav-link hidden-xs" href="/">首页</a>
</nav>
<nav id=category-nav class=hidden-xs>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
</nav>
<nav class="main-nav hidden-xs">
<a class=main-nav-link href="/tag/%E7%9B%B8%E5%86%8C/">相册</a>
<a class=main-nav-link href="/about/">关于</a>
</nav>
<nav id=sub-nav>
<a id=nav-rss-link class="nav-icon pull-right hidden-xs" href=/atom.xml title="RSS 订阅"><i class="fa fa-rss"></i></a>
<div id=nav-search-btn class="nav-icon pull-right" title=搜索><i class="fa fa-search"></i></div>
</nav>
<div id=search-form-wrap>
<form action=http://www.baidu.com/baidu accept-charset=utf-8 class=search-form target=_blank>
<input type=search name=word class=search-form-input placeholder=搜索>
<input id=search-form-submit type=submit value=&nbsp; class=search-form-submit>
<input name=tn type=hidden value=bds>
<input name=cl type=hidden value=3>
<input name=ct type=hidden value=2097152>
<input type=hidden name=si value=cweili.gitcafe.com>
<label class=search-form-submit for=search-form-submit><i class="fa fa-search"></i></label>
</form>
</div>
</div>
<div id=header-title class=inner>
<h1 id=logo-wrap>
<a href="/" id=logo>Cweili Beta</a>
</h1>
<h2 id=subtitle-wrap>
<a href="/" id=subtitle>I&#39;m working on it</a>
</h2>
</div>
</div>
</header>
<div class=outer>
<section id=main class=col-sm-9><article id=post-fedora-iptables-firewall class="article article-type-post" itemscope itemprop=blogPost>
<div class=article-meta>
<a href="/fedora-iptables-firewall/" class=article-date>
<time datetime=2011-12-01T04:49:57.000Z itemprop=datePublished>2011-12-01</time>
</a>
<div class=article-category>
<a class=article-category-link href=../category/学习笔记>学习笔记</a>
</div>
</div>
<div class="article-inner jiathis_streak">
<header class=article-header>
<h2 class=article-title itemprop=name>
Fedora中Iptables防火墙的配置
</h2>
</header>
<div class=article-entry itemprop=articleBody>
<p>防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合，它能增强机构内部网络的安全性。它通过访问控制机制，确定哪些内部服务允许外部访问，以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定 P 包是否可以传进或传出内部网。<br>防火墙通过审查经过的每一个数据包，判断它是否有相匹配的过滤规则，根据规则的先后顺序进行一一比较，直到满足其中的一条规则为止，然后依据控制机制做出相应的动作。如果都不满足，则将数据包丢弃，从而保护网络的安全。<a id=more></a></p>
<hr>
<p>iptables 的命令格式较为复杂，一般的格式如下：</p>
<hr>
<p>iptables [-t 表] - 命令 匹配 操作</p>
<hr>
<p>1．表选项</p>
<hr>
<p>表选项用于指定命令应用于哪个 iptables 内置 <br> 表，iptables 内置包括 filter 表、nat 表和 mangle 表</p>
<hr>
<p>2．命令选项</p>
<hr>
<p>命令 说明<br>-P 或—policy &lt; 链名 &gt; 定义默认策略<br>-L 或—list &lt; 链名 &gt; 查看 iptables 规则列表<br>-A 或—append &lt; 链名 &gt; 在规则列表的最后增加 1 条规则<br>-I 或—insert &lt; 链名 &gt; 在指定的位置插入 1 条规则<br>-D 或—delete &lt; 链名 &gt; 从规则列表中删除 1 条规则<br>-R 或—replace &lt; 链名 &gt; 替换规则列表中的某条规则<br>-F 或—flush &lt; 链名 &gt; 删除表中所有规则<br>-Z 或—zero &lt; 链名 &gt; 将表中数据包计数器和流量计数器归零</p>
<hr>
<p>3．匹配选项</p>
<hr>
<p>匹配 说明<br>-i 或—in-interface &lt; 网络接口名 &gt; 指定数据包从哪络接口进入，如 ppp0、eth0 和 eth1 等<br>-o 或—out-interface &lt; 网络接口名 &gt; 指定数据包从哪块网络接口输出，如 ppp0、eth0 和 eth1 等<br>-p 或—-proto 协议类型 &lt; 指定数据包匹配的协议，如 TCP、UDP 和 ICMP 等<br>-s 或—source &lt; 源地址或子网 &gt; 指定数据包匹配的源地址<br>—sport &lt; 源端口号 &gt; 指定数据包匹配的源端口号，可以使用“起始端口号: 结束端口号”的格式指定一个范围的端口<br>-d 或—destination &lt; 目标地址或子网 &gt; 指定数据包匹配的目标地址<br>—dport 目标端口号 指定数据包匹配的目标端口号，可以使用“起始端口号: 结束端口号”的格式指定一个范围的端口<br><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>*</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>4．动作选项</p>
<hr>
<p>动作 说明 <br>ACCEPT 接受数据包<br>DROP 丢弃数据包<br>REDIRECT 将数据包重新转向到本机或另一台主机的某个端口，通常用功能实现透明代理或对外开放内网某些服务<br>SNAT 源地址转换，即改变数据包的源地址<br>DNAT 目标地址转换，即改变数据包的目的地址<br>MASQUERADE IP 伪装，即是常说的 NAT 技术，MASQUERADE 只能用于 ADSL 等拨号上网的 IP 伪装，也就是主机的 IP 是由 ISP 分配动态的；如果主机的 IP 地址是静态固定的，就要使用 SNATLOG 日志功能，将符合规则的数据包的相关信息记录在日志中，以便管理员的分析和排错<br> 一、 安装 <br>[root@localhost ~]# rpm -qa iptables<br>iptables-1.3.8-5.fc8<br> 二、 定义默认策略</p>
<hr>
<p>定义默认策略</p>
<hr>
<p>当数据包不符合链中任一条规则时，iptables 将根据该链预先定义的 <br> 默认策略来处理数据包，默认策略的定义格式如下。<br>iptables [-t 表名] &lt;-p&gt; &lt; 链名 &gt; &lt; 动作 &gt;<br>参数说明如下<br> [-t 表名]：指默认策略将应用于哪个表，可以使用 filter、nat 和 mangle，如果没有指定使用哪个表，iptables 就默认使用 filter 表。<br> &lt;-p&gt;：定义默认策略。<br> &lt; 链名 &gt;：指默认策略将应用于哪个链，可以使用 INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT 和 POSTROUTING。<br> &lt; 动作 &gt;：处理数据包的动作，可以使用 ACCEPT（接受数据包）和 DROP（丢弃数据包）。</p>
<hr>
<p>例 1. 将 filte 表 INPUT 链的默认策略定义为接受数据包 <br>[root@localhost ~]# iptables -P INPUT ACCEPT<br> 例 2. 将 nat 表 OUTPUT 链的默认策略定义为丢弃数据包<br>[root@localhost ~]# iptables -t nat -P OUTPUT DROP</p>
<hr>
<p>三、 查看 iptables 规则</p>
<hr>
<p>查看 iptables 规则</p>
<hr>
<p>查看 iptables 规则的命令格式为：<br>iptables [-t 表名] &lt;-l&gt; [链名]<br>参数说明如下。<br> [-t 表名]：指查看哪个表的规则列表，表名用可以使用 filter、nat 和 mangle，如果没有指定使用哪个表，iptables 就默认查看 filter 表的规则列表。<br> &lt;-l&gt;：查看指定表和指定链的规则列表。<br> [链名]：指查看指定表中哪个链的规则列表，可以使用 INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT 和 POSTROUTING，如果不指明哪个链，则将查看某个表中所有链的规则列表。</p>
<hr>
<p>例 3. 查看 filter 表所有链的规则表 <br>[root@localhost ~]# iptables -L<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>RH-Firewall-1-INPUT all — anywhere anywhere<br>Chain FORWARD (policy ACCEPT)<br>target prot opt source destination<br>REJECT all — anywhere anywhere reject-with icmp-host-prohibited<br>Chain OUTPUT (policy ACCEPT)<br>target prot opt source destination<br>Chain RH-Firewall-1-INPUT (1 references)<br>target prot opt source destination<br>ACCEPT all — anywhere anywhere<br>ACCEPT icmp — anywhere anywhere icmp any<br>ACCEPT esp — anywhere anywhere<br>ACCEPT ah — anywhere anywhere<br>ACCEPT udp — anywhere 224.0.0.251 udp dpt:mdns<br>ACCEPT udp — anywhere anywhere udp dpt:ipp<br>ACCEPT tcp — anywhere anywhere tcp dpt:ipp<br>ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED<br>ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh<br>REJECT all — anywhere anywhere reject-with icmp-host-prohibited<br> 例 4. 查看 nat 表所有链的规则表 <br>[root@localhost ~]# iptables -t nat -L<br>Chain PREROUTING (policy ACCEPT)<br>target prot opt source destination<br>Chain POSTROUTING (policy ACCEPT)<br>target prot opt source destination<br>Chain OUTPUT (policy ACCEPT)<br>target prot opt source destination<br> 例 5. 查看 mangle 表所有链的规则列表<br>[root@localhost ~]# iptables -t mangle -L<br>Chain PREROUTING (policy ACCEPT)<br>target prot opt source destination<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>Chain FORWARD (policy ACCEPT)<br>target prot opt source destination<br>Chain OUTPUT (policy ACCEPT)<br>target prot opt source destination<br>Chain POSTROUTING (policy ACCEPT)<br>target prot opt source destination</p>
<hr>
<p>四、 增加，插入，删除和替换规则</p>
<hr>
<p>相关规则定义的格式为：</p>
<hr>
<p>iptables [-t 表名] &lt;-a | I | D | R&gt; 链名 [规则编号] [-i | o 网卡名称] [-p 协议类型] [-s 源 IP 地址 | 源子网] [—sport 源端口号] [-d 目标 IP 地址 | 目标子网] [—dport 目标端口号] &lt;-j 动作 &gt;<br>参数说明如下。<br> [-t 表名]：定义默认策略将应用于哪个表，可以使用 filter、nat 和 mangle，如果没有指定使用哪个表，iptables 就默认使用 filter 表。<br> -A：新增加一条规则，该规则将会增加到规则列表的最后一行，该参数不能使用规则编号。<br> -I：插入一条规则，原本该位置上的规则将会往后顺序移动，如果没有指定规则编号，则在第一条规则前插入。<br> -D：从规则列表中删除一条规则，可以输入完整规则，或直接指定规则编号加以删除。<br> -R：替换某条规则，规则被替换并不会改变顺序，必须要指定替换的规则编号。<br> &lt; 链名 &gt;：指定查看指定表中哪个链的规则列表，可以使用 INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT 和 POSTROUTING。<br> [规则编号]：规则编号用于插入、删除和替换规则时用，编号是按照规则列表的顺序排列，规则列表中第一条规则的编号为 1。<br> [-i | o 网卡名称]：i 是指定数据包从哪块网卡进入，o 是指定数据包从哪块网卡输出。网卡名称可以使用 ppp0、eth0 和 eth1 等。<br> [-p 协议类型]：可以指定规则应用的协议，包含 TCP、UDP 和 ICMP 等。<br> [-s 源 IP 地址 | 源子网]：源主机的 IP 地址或子网地址。<br> [—sport 源端口号]：数据包的 IP 的源端口号。<br> [-d 目标 IP 地址 | 目标子网]：目标主机的 IP 地址或子网地址。<br> [—dport 目标端口号]：数据包的 IP 的目标端口号。<br> &lt;-j 动作 &gt;：处理数据包的动作</p>
<hr>
<p>例 6. 为 filter 表的 INPUT 链添加一条规则，规则的内容是将来自 IP 地址为 192.168.1.200 这台主机的数据包都予以丢弃，然后查看 filter 表的 INPUT 链规则列表 <br>[root@localhost ~]# iptables -t filter -A INPUT -s 192.168.1.200 -j DROP<br>[root@localhost ~]# iptables -t filter -L INPUT<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>RH-Firewall-1-INPUT all — anywhere anywhere<br>DROP all — 192.168.1.200 anywhere<br> 例 7. 为 filter 表的 INPUT 链添加一条规则，规则的内容是接受来自 192.168.1.200 这台主机的数据包，然后查看 filter 表的 INPUT 链规则列表 <br>[root@localhost ~]# iptables -t filter -A INPUT -s 192.168.1.200 -j ACCEPT<br>[root@localhost ~]# iptables -t filter -L INPUT<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>RH-Firewall-1-INPUT all — anywhere anywhere<br>DROP all — 192.168.1.200 anywhere<br>ACCEPT all — 192.168.1.200 anywhere<br> 例 8. 在 filter 表的 INPUT 链规则列表中的第 2 条规则前插入一条规则，规则的内容是禁止 192.168.2.0 这个子网里所有的主机访问 TCP 协议的 80 端口，然后查看 filter 表的 INPUT 链规则列表 <br>[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp —dport 80 -j DROP<br>[root@localhost ~]# iptables -t filter -L INPUT<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>DROP tcp — 192.168.2.0/24 anywhere tcp dpt:http<br>RH-Firewall-1-INPUT all — anywhere anywhere<br>DROP all — 192.168.1.200 anywhere<br>ACCEPT all — 192.168.1.200 anywhere<br> 例 9. 删除 filter 表的 INPUT 链规则列表中第 3 条规则，然后查看 filter 表的 INPUT 链规则列表 <br>[root@localhost ~]# iptables -t filter -D INPUT 3<br>[root@localhost ~]# iptables -t filter -L INPUT<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>DROP tcp — 192.168.2.0/24 anywhere tcp dpt:http<br>RH-Firewall-1-INPUT all — anywhere anywhere<br>ACCEPT all — 192.168.1.200 anywhere<br> 例 10. 替换 filter 表的 INPUT 链规则列表中的第 2 条规则为禁止 192.168.3.0 这个子网里所有的主机访问 TCP 协议的 80 端口，然后查看 filter 表的 INPUT 链规则列表<br>[root@localhost ~]# iptables -t filter -R INPUT 2 -s 192.168.3.0/24 -p tcp —dport 80 -j DROP<br>[root@localhost ~]# iptables -t filter -L INPUT<br>Chain INPUT (policy ACCEPT)<br>target prot opt source destination<br>DROP tcp — 192.168.2.0/24 anywhere tcp dpt:http<br>DROP tcp — 192.168.3.0/24 anywhere tcp dpt:http<br>ACCEPT all — 192.168.1.200 anywhere</p>
<hr>
<p>五、 清除规则和计数器</p>
<hr>
<p>清除规则和计数器</p>
<hr>
<p>在新建规则时，往往需要清除原有的、旧的规则，以免它们影 <br> 响新设定的规则。如果规则比较多，一条条删除就会十分麻烦，<br>这时可以使用 iptables 提供的清除规则参数达到快速删除所有的规 <br> 则的目的。定义参数的格式为：<br>iptables [-t 表名] &lt;-f | Z&gt;<br>参数说明如下。<br> [-t 表名]：指定默认策略将应用于哪个表，可以使用 filter、nat 和 mangle，如果没有指定使用哪个表，iptables 就默认使用 filter 表。<br> -F：删除指定表中所有规则。<br> -Z：将指定表中的数据包计数器和流量计数器归零。</p>
<hr>
<p>例 11. 删除 filter 表中所有规则 <br>[root@localhost ~]# iptables -F<br> 例 12. 将 filter 表中数据包计数器和流量计数器规零 <br>[root@localhost ~]# iptables -Z<br> 例 13. 删除 nat 表中所有规则<br>[root@localhost ~]# iptables -t nat -F</p>
<div class=ujian-hook></div>
</div>
<footer class=article-footer>
<div class=bdsharebuttonbox>
<a href=# class=bds_tsina data-cmd=tsina title=分享到新浪微博></a>
<a href=# class=bds_qzone data-cmd=qzone title=分享到QQ空间></a>
<a href=# class=bds_tqq data-cmd=tqq title=分享到腾讯微博></a>
<a href=# class=bds_weixin data-cmd=weixin title=分享到微信></a>
<a href=# class=bds_tieba data-cmd=tieba title=分享到百度贴吧></a>
<a href=# class=bds_renren data-cmd=renren title=分享到人人网></a>
<a href=# class=bds_tqf data-cmd=tqf title=分享到腾讯朋友></a>
<a href=# class=bds_douban data-cmd=douban title=分享到豆瓣网></a>
<a href=# class=bds_tsohu data-cmd=tsohu title=分享到搜狐微博></a>
<a href=# class=bds_t163 data-cmd=t163 title=分享到网易微博></a>
<a href=# class=bds_taobao data-cmd=taobao title=分享到我的淘宝></a>
<a href=# class=bds_fx data-cmd=fx title=分享到飞信></a>
<a href=# class=bds_hi data-cmd=hi title=分享到百度空间></a>
<a href=# class=bds_more data-cmd=more></a>
</div>
<ul class=article-tag-list><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/fedora>Fedora</a></li><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/linux>Linux</a></li><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/计算机>计算机</a></li><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/计算机网络>计算机网络</a></li></ul>
</footer>
</div>
<nav id=article-nav>
<a href="/virtualbox-ose-vboxxpcombase-xpt/" id=article-nav-newer class=article-nav-link-wrap>
<strong class=article-nav-caption>Newer</strong>
<div class=article-nav-title>
Fedora 15/16 安装 VirtualBox-OSE 出现找不到 VBoxXPCOMBase.xpt 的解决办法
</div>
</a>
<a href="/hardware-firewall-configuration/" id=article-nav-older class=article-nav-link-wrap>
<strong class=article-nav-caption>Older</strong>
<div class=article-nav-title>硬件防火墙的配置</div>
</a>
</nav>
</article>
<section id=comments>
<div class=ds-thread data-thread-key="fedora-iptables-firewall/" data-title=Fedora中Iptables防火墙的配置 data-url="http://cweili.gitcafe.com/fedora-iptables-firewall/"></div>
</section>
</section>
<aside id=sidebar class=col-sm-3>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>分类</h3>
<div class=widget>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
</div>
</div>
<div class=widget-wrap>
<h3 class=widget-title>最新评论</h3>
<div class=widget>
<div class=ds-recent-comments data-num-items=10 data-show-avatars=1 data-show-time=1 data-show-title=0 data-show-admin=1 data-excerpt-length=20>
<div class=text-center><i class="fa fa-refresh fa-spin"></i></div>
</div>
</div>
</div>
<div class=widget-wrap>
<h3 class=widget-title>最新文章</h3>
<div class=widget>
<ul>
<li>
<a href="/xixishidi/">河塘飞鸟西溪湿地</a>
</li>
<li>
<a href="/xizihu/">水光潋滟西子湖畔</a>
</li>
<li>
<a href="/xitang/">柳絮纷飞烟雨西塘</a>
</li>
<li>
<a href="/wuzhen/">灯火阑珊水映乌镇</a>
</li>
<li>
<a href="/stu3-zoo/">Stu3 Zoo</a>
</li>
<li>
<a href="/jshint-options/">JSHint配置参数详解</a>
</li>
<li>
<a href="/css3-jquery-rocket-to-top/">CSS3动画与jQuery实现返回顶部小火箭</a>
</li>
<li>
<a href="/rebuild-blog-gitcafe/">再一次重建我的博客</a>
</li>
<li>
<a href="/java-poi-excel/">Java使用POI创建Excel图表</a>
</li>
<li>
<a href="/hibernate-connect-sqlite-paging-bug-repair/">Hibernate 连接 SQLite (hibernate-sqlite) 分页bug的修复</a>
</li>
<li>
<a href="/web-page-color-chart/">更全的网页颜色表</a>
</li>
<li>
<a href="/quarrying-rocky-4/">20120407春游采石矶(四)</a>
</li>
<li>
<a href="/quarrying-rocky-3/">20120407春游采石矶(三)</a>
</li>
<li>
<a href="/quarrying-rocky-2/">20120407春游采石矶(二)</a>
</li>
<li>
<a href="/quarrying-rocky/">20120407春游采石矶(一)</a>
</li>
<li>
<a href="/ahpu-spring/">安徽工程大学的春天</a>
</li>
<li>
<a href="/helps-students-assembled-computer/">帮同学组装帅气小机箱电脑一台</a>
</li>
<li>
<a href="/nanjing-trip-4/">20120310南京二日行(四)</a>
</li>
<li>
<a href="/nanjing-trip-3/">20120310南京二日行(三)</a>
</li>
<li>
<a href="/nanjing-trip-2/">20120310南京二日行(二)</a>
</li>
</ul>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>手机阅读</h3>
<div class=widget>
<div class=qrcode style="background-image:url(http://qr.liantu.com/api.php?bg=eeeeee&fg=000000&el=l&w=192&m=0&text=http://cweili.gitcafe.com/fedora-iptables-firewall/)"></div>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>标签云</h3>
<div class="widget tagcloud">
<a href=../tag/acm style=font-size:10px>ACM</a><a href=../tag/c++ style=font-size:15.71px>C++</a><a href=../tag/css style=font-size:10px>CSS</a><a href=../tag/fedora style=font-size:15.71px>Fedora</a><a href=../tag/gnome style=font-size:11.43px>Gnome</a><a href=../tag/hibernate style=font-size:10px>Hibernate</a><a href=../tag/jshint style=font-size:10px>JSHint</a><a href=../tag/java style=font-size:11.43px>Java</a><a href=../tag/javascript style=font-size:12.86px>JavaScript</a><a href=../tag/linux style=font-size:17.14px>Linux</a><a href=../tag/pdo style=font-size:10px>PDO</a><a href=../tag/php style=font-size:12.86px>PHP</a><a href=../tag/poi style=font-size:10px>POI</a><a href=../tag/photoshop style=font-size:14.29px>Photoshop</a><a href=../tag/sae style=font-size:10px>SAE</a><a href=../tag/sql style=font-size:14.29px>SQL</a><a href=../tag/sqlite style=font-size:11.43px>SQLite</a><a href=../tag/stl style=font-size:11.43px>STL</a><a href=../tag/stu3 style=font-size:10px>Stu3</a><a href=../tag/twitter style=font-size:10px>Twitter</a><a href=../tag/virtualbox style=font-size:10px>VirtualBox</a><a href=../tag/jquery style=font-size:10px>jQuery</a><a href=../tag/三国杀 style=font-size:15.71px>三国杀</a><a href=../tag/乌镇 style=font-size:10px>乌镇</a><a href=../tag/互联网 style=font-size:10px>互联网</a><a href=../tag/动漫 style=font-size:11.43px>动漫</a><a href=../tag/动画 style=font-size:10px>动画</a><a href=../tag/南京 style=font-size:14.29px>南京</a><a href=../tag/博客 style=font-size:14.29px>博客</a><a href=../tag/实验 style=font-size:15.71px>实验</a><a href=../tag/容器 style=font-size:11.43px>容器</a><a href=../tag/小说 style=font-size:10px>小说</a><a href=../tag/微博 style=font-size:11.43px>微博</a><a href=../tag/心情 style=font-size:14.29px>心情</a><a href=../tag/摄影 style=font-size:17.14px>摄影</a><a href=../tag/操作系统 style=font-size:14.29px>操作系统</a><a href=../tag/数据库 style=font-size:18.57px>数据库</a><a href=../tag/旅行 style=font-size:20px>旅行</a><a href=../tag/日记 style=font-size:17.14px>日记</a><a href=../tag/杭州 style=font-size:11.43px>杭州</a>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>归档</h3>
<div class=widget>
<ul class=archive-list><li class=archive-list-item><a class=archive-list-link href=../archive/2014/09>September 2014</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2014/08>August 2014</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/09>September 2012</a><span class=archive-list-count>1</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/05>May 2012</a><span class=archive-list-count>2</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/04>April 2012</a><span class=archive-list-count>5</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/03>March 2012</a><span class=archive-list-count>5</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/12>December 2011</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/11>November 2011</a><span class=archive-list-count>18</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/10>October 2011</a><span class=archive-list-count>32</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/05>May 2011</a><span class=archive-list-count>2</span></li></ul>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>友情链接</h3>
<div class=widget>
<ul>
<li>
<a href=http://cweili.gitcafe.com target=_blank>主页</a>
</li>
</ul>
</div>
</div>
</aside>
</div>
<footer id=footer>
<div class=footer-wrap>
<div class=outer>
<div class=inner>
<div id=social-network>
<a class=link href=https://github.com/Cweili target=_blank><i class="fa fa-fw fa-github"></i></a>
<a class=link href=http://weibo.com/cweili target=_blank><i class="fa fa-fw fa-weibo"></i></a>
</div>
<div id=footer-info>
&copy; 2014 <a href=http://cweili.gitcafe.com target=_blank>Cweili</a><br>
Powered by <a href="http://hexo.io/" target=_blank>Hexo</a>.
Theme by <a href=http://cweili.gitcafe.com target=_blank>Cweili</a>.
</div>
</div>
</div>
</div>
</footer>
</div>
</div>
<div id=rocket-to-top>
<div class=onhover></div>
<div class=anim></div>
</div>
<link rel=stylesheet href=//libs.baidu.com/fontawesome/4.0.3/css/font-awesome.min.css css type=text/css>
<script src=//libs.baidu.com/jquery/1.11.1/jquery.min.js type=text/javascript></script><link rel=stylesheet href=//cdn.staticfile.org/fancybox/2.1.5/jquery.fancybox.min.css type=text/css>
<script src=//cdn.staticfile.org/fancybox/2.1.5/jquery.fancybox.min.js type=text/javascript></script><script src=../js/script.js type=text/javascript></script><script type=text/javascript>var duoshuoQuery={short_name:"cweiligitcafe"};</script><script src=//static.duoshuo.com/embed.js type=text/javascript></script><script type=text/javascript>var ujian_config={num:10,showType:3};</script><script src="http://v1.ujian.cc/code/ujian.js?uid=1539214&_=.js" type=text/javascript></script><script type=text/javascript>window._bd_share_config={common:{bdSnsKey:{},bdPopTitle:"分享到",bdMini:2,bdPopupOffsetLeft:28,bdPopupOffsetTop:108,bdMiniList:["sqq","mshare","bdysc","kaixin001","ibaidu","baidu","ff","qy","meilishuo","mogujie","diandian","ty","youdao","sdo"],bdPic:"",bdStyle:1,bdSize:"24"},share:{},image:{viewList:["tsina","qzone","tqq","weixin","tieba","renren","tqf","douban","tsohu","t163","taobao","fx","hi"],viewText:" ",viewSize:"24"},selectShare:{bdContainerClass:"article",bdSelectMiniList:["tsina","qzone","tqq","weixin","tieba","renren","tqf","douban","tsohu","t163","taobao","fx","hi"]}},document.write('<script type="text/javascript" src="http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion='+~(-new Date/36e5)+'"><\/script>');</script><div id=stat-wrap>
<script src="http://s19.cnzz.com/stat.php?id=1252976445&web_id=1252976445" type=text/javascript></script></div></body></html>